

package interfaz;

import dao.MySqlUsuarioDAO;
import datos.Jugador;
import datos.Pais;
import datos.Usuario;
import encriptacion.Encrypter;
import encriptacion.VernamEncrypter;
import java.awt.event.ActionEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import principal.Cliente;
import principal.Servidor;

public class VentanaPrincipal extends javax.swing.JFrame {
    private Servidor servidor;
    private Cliente cliente;
    private VentanaSeleccionColor vsc;
    private VentanaSeleccionColorCliente vscc;
    private boolean agregarEjercito;
    private boolean atacar;
    private boolean primeraRonda;
    private boolean priveraVezDesplazar=true;
    private ArrayList movimientoPais;
    private int envio;//solo sirve para cuando se conquista un pais saber cuantas tropas van al nuevo pais
    private boolean mostrarObjetivo = false;
    private boolean perdi=false;

    private Usuario usuario;
    private static MySqlUsuarioDAO mud = new MySqlUsuarioDAO();

    public VentanaPrincipal() {
        initComponents();
        servidor = null;
        cliente = null;
        vsc = null;
        vscc = null;
        usuario = null;
        jtaInformacion.append("\n");
        this.cargarEscuchas();
        this.setLocationRelativeTo(null);
        envio = 0;

        jtfPais.setEditable(false);
        jtfEjercito.setEditable(false);
        jtfEjercitoAColocar.setEditable(false);
        jtfJugador.setEditable(false);
        jtfPaisDestino.setEditable(false);
        jtfPaisOrigen.setEditable(false);

        jrbJugador1.setVisible(false);
        jrbJugador2.setVisible(false);
        jrbJugador3.setVisible(false);
        jrbJugador4.setVisible(false);
        jrbJugador5.setVisible(false);
        jrbJugador6.setVisible(false);
        jrbJugador1.setEnabled(false);
        jrbJugador2.setEnabled(false);
        jrbJugador3.setEnabled(false);
        jrbJugador4.setEnabled(false);
        jrbJugador5.setEnabled(false);
        jrbJugador6.setEnabled(false);
        jlColor1.setVisible(false);
        jlColor2.setVisible(false);
        jlColor3.setVisible(false);
        jlColor4.setVisible(false);
        jlColor5.setVisible(false);
        jlColor6.setVisible(false);

        agregarEjercito = true;
        atacar = false;
        primeraRonda = true;
        
        jlDadoOponente1.setVisible(false);
        jlDadoOponente2.setVisible(false);
        jlDadoOponente3.setVisible(false);
        jlDadoYo1.setVisible(false);
        jlDadoYo2.setVisible(false);
        jlDadoYo3.setVisible(false);

        jScrollPane3.setVisible(false);
        jtaObjetivo.setVisible(false);
        jbObjetivo.setEnabled(false);
        jbObjetivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/CandadoCerrado.png")));
        jScrollPane3.setVisible(false);

        new VentanaSesion(this, false).setVisible(true);
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setEnvio(int envio) {
        this.envio = envio;
    }

    public void setVsc(VentanaSeleccionColor vsj) {
        this.vsc = vsj;
    }

    public void setVscc(VentanaSeleccionColorCliente vscc) {
        this.vscc = vscc;
    }

    public VentanaSeleccionColor getVsc() {
        return vsc;
    }

    public VentanaSeleccionColorCliente getVscc() {
        return vscc;
    }

    public Cliente getCliente() {
        return cliente;
    }
    
    public void cargarEscuchas()
    {
        jlArgentina.addMouseListener(new paisSeleccionado()); 
        jlYukon.addMouseListener(new paisSeleccionado());  
        jlAlaska.addMouseListener(new paisSeleccionado());
        jlBrasil.addMouseListener(new paisSeleccionado());
        jlCalifornia.addMouseListener(new paisSeleccionado());
        jlCanada.addMouseListener(new paisSeleccionado());
        jlGroenlandia.addMouseListener(new paisSeleccionado());
        jlLabrador.addMouseListener(new paisSeleccionado());
        jlMexico.addMouseListener(new paisSeleccionado());
        jlNuevaYork.addMouseListener(new paisSeleccionado());
        jlOregon.addMouseListener(new paisSeleccionado());
        jlTerranova.addMouseListener(new paisSeleccionado());
        jlColombia.addMouseListener(new paisSeleccionado());
        jlUruguay.addMouseListener(new paisSeleccionado());
        jlChile.addMouseListener(new paisSeleccionado());
        jlPeru.addMouseListener(new paisSeleccionado());
        jlSahara.addMouseListener(new paisSeleccionado());
        jlEgipto.addMouseListener(new paisSeleccionado());
        jlEtiopia.addMouseListener(new paisSeleccionado());
        jlMadagascar.addMouseListener(new paisSeleccionado());
        jlSudafrica.addMouseListener(new paisSeleccionado());
        jlZaire.addMouseListener(new paisSeleccionado());
        jlBorneo.addMouseListener(new paisSeleccionado());
        jlSumatra.addMouseListener(new paisSeleccionado());
        jlJava.addMouseListener(new paisSeleccionado());
        jlAustralia.addMouseListener(new paisSeleccionado());
        jlMalasia.addMouseListener(new paisSeleccionado());
        jlIndia.addMouseListener(new paisSeleccionado());
        jlChina.addMouseListener(new paisSeleccionado());
        jlKatchatka.addMouseListener(new paisSeleccionado());
        jlArabia.addMouseListener(new paisSeleccionado());
        jlIsrael.addMouseListener(new paisSeleccionado());
        jlTurquia.addMouseListener(new paisSeleccionado());
        jlIran.addMouseListener(new paisSeleccionado());
        jlGobi.addMouseListener(new paisSeleccionado());
        jlAral.addMouseListener(new paisSeleccionado());
        jlTaimir.addMouseListener(new paisSeleccionado());
        jlMongolia.addMouseListener(new paisSeleccionado());
        jlJapon.addMouseListener(new paisSeleccionado());
        jlTartaria.addMouseListener(new paisSeleccionado());
        jlSiberia.addMouseListener(new paisSeleccionado());
        jlSuecia.addMouseListener(new paisSeleccionado());
        jlPolonia.addMouseListener(new paisSeleccionado());
        jlAlemania.addMouseListener(new paisSeleccionado());
        jlGranBretania.addMouseListener(new paisSeleccionado());
        jlIslandia.addMouseListener(new paisSeleccionado());
        jlEspania.addMouseListener(new paisSeleccionado());
        jlItalia.addMouseListener(new paisSeleccionado());
        jlRusia.addMouseListener(new paisSeleccionado());
        jlFrancia.addMouseListener(new paisSeleccionado());

        jtaChat.addKeyListener(new MakeEnterDoAction());
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jbEnviarTropas = new javax.swing.JButton();
        jbReagruparTropas = new javax.swing.JButton();
        jbFinTurno = new javax.swing.JButton();
        jbAtacar = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jtaInformacion = new javax.swing.JTextArea();
        jlpMapa = new javax.swing.JLayeredPane();
        jlYukon = new javax.swing.JLabel();
        jlCanada = new javax.swing.JLabel();
        jlGroenlandia = new javax.swing.JLabel();
        jlOregon = new javax.swing.JLabel();
        jlTerranova = new javax.swing.JLabel();
        jlNuevaYork = new javax.swing.JLabel();
        jlCalifornia = new javax.swing.JLabel();
        jlMexico = new javax.swing.JLabel();
        jlLabrador = new javax.swing.JLabel();
        jlAlaska = new javax.swing.JLabel();
        jlColombia = new javax.swing.JLabel();
        jlArgentina = new javax.swing.JLabel();
        jlUruguay = new javax.swing.JLabel();
        jlBrasil = new javax.swing.JLabel();
        jlChile = new javax.swing.JLabel();
        jlPeru = new javax.swing.JLabel();
        jlSahara = new javax.swing.JLabel();
        jlEgipto = new javax.swing.JLabel();
        jlEtiopia = new javax.swing.JLabel();
        jlMadagascar = new javax.swing.JLabel();
        jlSudafrica = new javax.swing.JLabel();
        jlZaire = new javax.swing.JLabel();
        jlAustralia = new javax.swing.JLabel();
        jlBorneo = new javax.swing.JLabel();
        jlSumatra = new javax.swing.JLabel();
        jlJava = new javax.swing.JLabel();
        jlMalasia = new javax.swing.JLabel();
        jlIndia = new javax.swing.JLabel();
        jlChina = new javax.swing.JLabel();
        jlKatchatka = new javax.swing.JLabel();
        jlArabia = new javax.swing.JLabel();
        jlIsrael = new javax.swing.JLabel();
        jlTurquia = new javax.swing.JLabel();
        jlIran = new javax.swing.JLabel();
        jlGobi = new javax.swing.JLabel();
        jlAral = new javax.swing.JLabel();
        jlTaimir = new javax.swing.JLabel();
        jlMongolia = new javax.swing.JLabel();
        jlJapon = new javax.swing.JLabel();
        jlTartaria = new javax.swing.JLabel();
        jlSiberia = new javax.swing.JLabel();
        jlSuecia = new javax.swing.JLabel();
        jlPolonia = new javax.swing.JLabel();
        jlAlemania = new javax.swing.JLabel();
        jlGranBretania = new javax.swing.JLabel();
        jlIslandia = new javax.swing.JLabel();
        jlEspania = new javax.swing.JLabel();
        jlItalia = new javax.swing.JLabel();
        jlRusia = new javax.swing.JLabel();
        jlFrancia = new javax.swing.JLabel();
        jlTablero = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        jtaChat = new javax.swing.JTextArea();
        jbEnviar = new javax.swing.JButton();
        jpInformacion = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jtfPais = new javax.swing.JTextField();
        jLabel12 = new javax.swing.JLabel();
        jLabel13 = new javax.swing.JLabel();
        jtfJugador = new javax.swing.JTextField();
        jtfEjercito = new javax.swing.JTextField();
        jpAtacar = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jtfPaisOrigen = new javax.swing.JTextField();
        jLabel5 = new javax.swing.JLabel();
        jtfPaisDestino = new javax.swing.JTextField();
        jpAgregar = new javax.swing.JPanel();
        jLabel10 = new javax.swing.JLabel();
        jLabel11 = new javax.swing.JLabel();
        jtfEjercitoAColocar = new javax.swing.JTextField();
        jpDados = new javax.swing.JPanel();
        jLabel14 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();
        jlDadoOponente3 = new javax.swing.JLabel();
        jlDadoYo1 = new javax.swing.JLabel();
        jlDadoOponente1 = new javax.swing.JLabel();
        jlDadoYo2 = new javax.swing.JLabel();
        jlDadoOponente2 = new javax.swing.JLabel();
        jlDadoYo3 = new javax.swing.JLabel();
        resultado0 = new javax.swing.JLabel();
        resultado1 = new javax.swing.JLabel();
        resultado2 = new javax.swing.JLabel();
        jpRonda = new javax.swing.JPanel();
        jLabel17 = new javax.swing.JLabel();
        jrbJugador2 = new javax.swing.JRadioButton();
        jrbJugador3 = new javax.swing.JRadioButton();
        jrbJugador4 = new javax.swing.JRadioButton();
        jrbJugador6 = new javax.swing.JRadioButton();
        jrbJugador1 = new javax.swing.JRadioButton();
        jrbJugador5 = new javax.swing.JRadioButton();
        jlColor1 = new javax.swing.JLabel();
        jlColor2 = new javax.swing.JLabel();
        jlColor3 = new javax.swing.JLabel();
        jlColor4 = new javax.swing.JLabel();
        jlColor5 = new javax.swing.JLabel();
        jlColor6 = new javax.swing.JLabel();
        jbObjetivo = new javax.swing.JButton();
        jScrollPane3 = new javax.swing.JScrollPane();
        jtaObjetivo = new javax.swing.JTextArea();
        jMenuBar1 = new javax.swing.JMenuBar();
        jmArchivo = new javax.swing.JMenu();
        jmiCrearJuego = new javax.swing.JMenuItem();
        jmiConectarseJuego = new javax.swing.JMenuItem();
        jmiDesconectarse = new javax.swing.JMenuItem();
        jmiSalir = new javax.swing.JMenuItem();
        jmAcciones = new javax.swing.JMenu();
        jmiAgregar = new javax.swing.JMenuItem();
        jmiAtacar = new javax.swing.JMenuItem();
        jmiReagrupar = new javax.swing.JMenuItem();
        jmiFinTruno = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("TEG - El juego de las estrategias");

        jbEnviarTropas.setFont(new java.awt.Font("Tahoma", 0, 14));
        jbEnviarTropas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/AgregarP.png"))); // NOI18N
        jbEnviarTropas.setEnabled(false);
        jbEnviarTropas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbEnviarTropasActionPerformed(evt);
            }
        });

        jbReagruparTropas.setFont(new java.awt.Font("Tahoma", 0, 14));
        jbReagruparTropas.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/Reagrupar.png"))); // NOI18N
        jbReagruparTropas.setEnabled(false);
        jbReagruparTropas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbReagruparTropasActionPerformed(evt);
            }
        });

        jbFinTurno.setFont(new java.awt.Font("Tahoma", 0, 14));
        jbFinTurno.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/FinTurno.png"))); // NOI18N
        jbFinTurno.setEnabled(false);
        jbFinTurno.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbFinTurnoActionPerformed(evt);
            }
        });

        jbAtacar.setFont(new java.awt.Font("Tahoma", 0, 14));
        jbAtacar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/AtacarP.png"))); // NOI18N
        jbAtacar.setEnabled(false);
        jbAtacar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbAtacarActionPerformed(evt);
            }
        });

        jtaInformacion.setColumns(20);
        jtaInformacion.setRows(5);
        jtaInformacion.setText("---------------------------------------------------------- Bienvenidos a TEG ----------------------------------------------------------");
        jScrollPane1.setViewportView(jtaInformacion);

        jlpMapa.setAlignmentX(0.0F);
        jlpMapa.setAlignmentY(0.0F);

        jlYukon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlYukon.setBounds(62, 40, 30, 50);
        jlpMapa.add(jlYukon, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlCanada.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlCanada.setBounds(100, 40, 50, 30);
        jlpMapa.add(jlCanada, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlGroenlandia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlGroenlandia.setBounds(210, 20, 50, 30);
        jlpMapa.add(jlGroenlandia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlOregon.setBounds(60, 90, 30, 30);
        jlpMapa.add(jlOregon, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlTerranova.setBounds(130, 80, 20, 40);
        jlpMapa.add(jlTerranova, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlNuevaYork.setBounds(100, 90, 30, 30);
        jlpMapa.add(jlNuevaYork, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlCalifornia.setBounds(70, 120, 30, 20);
        jlpMapa.add(jlCalifornia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlMexico.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlMexico.setBounds(70, 150, 60, 40);
        jlpMapa.add(jlMexico, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlLabrador.setBounds(160, 70, 30, 30);
        jlpMapa.add(jlLabrador, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlAlaska.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlAlaska.setBounds(30, 30, 30, 60);
        jlpMapa.add(jlAlaska, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlColombia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlColombia.setBounds(100, 190, 40, 40);
        jlpMapa.add(jlColombia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlArgentina.setBounds(140, 290, 30, 70);
        jlpMapa.add(jlArgentina, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlUruguay.setBounds(160, 260, 20, 30);
        jlpMapa.add(jlUruguay, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlBrasil.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlBrasil.setBounds(150, 220, 50, 40);
        jlpMapa.add(jlBrasil, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlChile.setBounds(120, 270, 20, 80);
        jlpMapa.add(jlChile, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlPeru.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlPeru.setBounds(110, 230, 30, 40);
        jlpMapa.add(jlPeru, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlSahara.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlSahara.setBounds(240, 200, 60, 70);
        jlpMapa.add(jlSahara, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlEgipto.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlEgipto.setBounds(300, 210, 70, 40);
        jlpMapa.add(jlEgipto, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlEtiopia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlEtiopia.setBounds(300, 250, 50, 30);
        jlpMapa.add(jlEtiopia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlMadagascar.setBounds(360, 300, 30, 50);
        jlpMapa.add(jlMadagascar, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlSudafrica.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlSudafrica.setBounds(300, 310, 50, 50);
        jlpMapa.add(jlSudafrica, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlZaire.setBounds(290, 280, 30, 30);
        jlpMapa.add(jlZaire, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlAustralia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlAustralia.setBounds(580, 300, 40, 80);
        jlpMapa.add(jlAustralia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlBorneo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlBorneo.setBounds(560, 260, 60, 30);
        jlpMapa.add(jlBorneo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlSumatra.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlSumatra.setBounds(510, 270, 50, 30);
        jlpMapa.add(jlSumatra, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlJava.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlJava.setBounds(530, 300, 50, 70);
        jlpMapa.add(jlJava, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlMalasia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlMalasia.setBounds(500, 200, 60, 60);
        jlpMapa.add(jlMalasia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlIndia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlIndia.setBounds(460, 200, 40, 60);
        jlpMapa.add(jlIndia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlChina.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlChina.setBounds(520, 100, 60, 100);
        jlpMapa.add(jlChina, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlKatchatka.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlKatchatka.setBounds(540, 50, 80, 40);
        jlpMapa.add(jlKatchatka, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlArabia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlArabia.setBounds(420, 180, 30, 40);
        jlpMapa.add(jlArabia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlIsrael.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlIsrael.setBounds(370, 210, 50, 40);
        jlpMapa.add(jlIsrael, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlTurquia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlTurquia.setBounds(370, 170, 50, 40);
        jlpMapa.add(jlTurquia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlIran.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlIran.setBounds(410, 110, 50, 50);
        jlpMapa.add(jlIran, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlGobi.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlGobi.setBounds(470, 130, 50, 50);
        jlpMapa.add(jlGobi, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlAral.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlAral.setBounds(400, 60, 40, 40);
        jlpMapa.add(jlAral, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlTaimir.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlTaimir.setBounds(470, 40, 30, 50);
        jlpMapa.add(jlTaimir, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlMongolia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlMongolia.setBounds(460, 100, 70, 30);
        jlpMapa.add(jlMongolia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlJapon.setBounds(580, 100, 30, 80);
        jlpMapa.add(jlJapon, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlTartaria.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlTartaria.setBounds(440, 50, 30, 40);
        jlpMapa.add(jlTartaria, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlSiberia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlSiberia.setBounds(500, 60, 40, 40);
        jlpMapa.add(jlSiberia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlSuecia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlSuecia.setBounds(300, 30, 60, 70);
        jlpMapa.add(jlSuecia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlPolonia.setBounds(340, 120, 30, 60);
        jlpMapa.add(jlPolonia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlAlemania.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlAlemania.setBounds(300, 110, 40, 40);
        jlpMapa.add(jlAlemania, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlGranBretania.setBounds(270, 80, 30, 50);
        jlpMapa.add(jlGranBretania, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlIslandia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlIslandia.setBounds(250, 50, 40, 30);
        jlpMapa.add(jlIslandia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlEspania.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlEspania.setBounds(250, 160, 30, 30);
        jlpMapa.add(jlEspania, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlItalia.setBounds(310, 160, 30, 40);
        jlpMapa.add(jlItalia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlRusia.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jlRusia.setBounds(360, 60, 40, 60);
        jlpMapa.add(jlRusia, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jlFrancia.setBounds(280, 130, 20, 40);
        jlpMapa.add(jlFrancia, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jlTablero.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Tablero.png"))); // NOI18N
        jlTablero.setBounds(0, 0, 630, 400);
        jlpMapa.add(jlTablero, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jtaChat.setColumns(20);
        jtaChat.setRows(5);
        jScrollPane2.setViewportView(jtaChat);

        jbEnviar.setText("Enviar");
        jbEnviar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbEnviarActionPerformed(evt);
            }
        });

        jpInformacion.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jpInformacion.setEnabled(false);
        jpInformacion.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel1.setText("Información");
        jpInformacion.add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(61, 13, -1, -1));

        jLabel2.setText("País:");
        jpInformacion.add(jLabel2, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 37, -1, -1));

        jtfPais.setSelectionColor(new java.awt.Color(0, 0, 0));
        jpInformacion.add(jtfPais, new org.netbeans.lib.awtextra.AbsoluteConstraints(68, 34, 100, -1));

        jLabel12.setText("Jugador:");
        jpInformacion.add(jLabel12, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 63, -1, -1));

        jLabel13.setText("Ejercito:");
        jpInformacion.add(jLabel13, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 86, -1, -1));

        jtfJugador.setSelectionColor(new java.awt.Color(0, 0, 0));
        jpInformacion.add(jtfJugador, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 60, 100, -1));

        jtfEjercito.setSelectionColor(new java.awt.Color(0, 0, 0));
        jpInformacion.add(jtfEjercito, new org.netbeans.lib.awtextra.AbsoluteConstraints(69, 85, 50, -1));

        jpAtacar.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jpAtacar.setEnabled(false);
        jpAtacar.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel3.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel3.setText("Selección");
        jpAtacar.add(jLabel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(69, 8, -1, -1));

        jLabel4.setText("País origen:");
        jpAtacar.add(jLabel4, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 32, -1, -1));

        jtfPaisOrigen.setSelectionColor(new java.awt.Color(0, 0, 0));
        jtfPaisOrigen.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jtfPaisOrigenActionPerformed(evt);
            }
        });
        jpAtacar.add(jtfPaisOrigen, new org.netbeans.lib.awtextra.AbsoluteConstraints(86, 29, 90, -1));

        jLabel5.setText("País destino:");
        jpAtacar.add(jLabel5, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 58, -1, -1));

        jtfPaisDestino.setSelectionColor(new java.awt.Color(0, 0, 0));
        jtfPaisDestino.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jtfPaisDestinoActionPerformed(evt);
            }
        });
        jpAtacar.add(jtfPaisDestino, new org.netbeans.lib.awtextra.AbsoluteConstraints(87, 55, 90, -1));

        jpAgregar.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jpAgregar.setEnabled(false);
        jpAgregar.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel10.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel10.setText("Agregar ejercito");
        jpAgregar.add(jLabel10, new org.netbeans.lib.awtextra.AbsoluteConstraints(44, 13, -1, -1));

        jLabel11.setText("Ejercito por colocar:");
        jpAgregar.add(jLabel11, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 37, -1, -1));

        jtfEjercitoAColocar.setDisabledTextColor(new java.awt.Color(204, 255, 255));
        jtfEjercitoAColocar.setSelectionColor(new java.awt.Color(0, 0, 0));
        jpAgregar.add(jtfEjercitoAColocar, new org.netbeans.lib.awtextra.AbsoluteConstraints(133, 34, 40, -1));

        jpDados.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jpDados.setEnabled(false);
        jpDados.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel14.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel14.setText("Dados");
        jpDados.add(jLabel14, new org.netbeans.lib.awtextra.AbsoluteConstraints(69, 8, -1, -1));

        jLabel6.setText("YO");
        jpDados.add(jLabel6, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1));

        jLabel7.setText("Oponente");
        jpDados.add(jLabel7, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 20, -1, -1));

        jlDadoOponente3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoOponente3, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 120, -1, -1));

        jlDadoYo1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoYo1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 40, -1, -1));

        jlDadoOponente1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoOponente1, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 40, -1, -1));

        jlDadoYo2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoYo2, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 80, -1, -1));

        jlDadoOponente2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoOponente2, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 80, -1, -1));

        jlDadoYo3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/dice-1.png"))); // NOI18N
        jpDados.add(jlDadoYo3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 120, -1, -1));
        jpDados.add(resultado0, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 50, -1, -1));
        jpDados.add(resultado1, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 90, -1, -1));
        jpDados.add(resultado2, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 130, -1, -1));

        jpRonda.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
        jpRonda.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        jLabel17.setFont(new java.awt.Font("Tahoma", 1, 12));
        jLabel17.setText("Ronda");
        jpRonda.add(jLabel17, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 10, -1, -1));

        jrbJugador2.setText("Jugador");
        jrbJugador2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador2ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador2, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 60, -1, -1));

        jrbJugador3.setText("Jugador");
        jrbJugador3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador3ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador3, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 80, -1, -1));

        jrbJugador4.setText("Jugador");
        jrbJugador4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador4ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador4, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 100, -1, -1));

        jrbJugador6.setText("Jugador");
        jrbJugador6.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador6ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador6, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 140, -1, -1));

        jrbJugador1.setText("Jugador");
        jrbJugador1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador1ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador1, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 40, -1, -1));

        jrbJugador5.setText("Jugador");
        jrbJugador5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jrbJugador5ActionPerformed(evt);
            }
        });
        jpRonda.add(jrbJugador5, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 120, -1, -1));

        jlColor1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor1, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 40, 30, 20));

        jlColor2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor2, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 60, 30, 20));

        jlColor3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor3, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 80, 30, 20));

        jlColor4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor4, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 100, 30, 20));

        jlColor5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor5, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 120, 30, 20));

        jlColor6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Colores/CirculoRojo.png"))); // NOI18N
        jpRonda.add(jlColor6, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 140, 30, 20));

        jbObjetivo.setFont(new java.awt.Font("Tahoma", 0, 14));
        jbObjetivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/CandadoCerrado.png"))); // NOI18N
        jbObjetivo.setEnabled(false);
        jbObjetivo.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jbObjetivoActionPerformed(evt);
            }
        });

        jtaObjetivo.setColumns(20);
        jtaObjetivo.setRows(5);
        jtaObjetivo.setEnabled(false);
        jScrollPane3.setViewportView(jtaObjetivo);

        jmArchivo.setText("Archivo");

        jmiCrearJuego.setText("Crear juego");
        jmiCrearJuego.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiCrearJuegoActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiCrearJuego);

        jmiConectarseJuego.setText("Conectarse a juego");
        jmiConectarseJuego.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiConectarseJuegoActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiConectarseJuego);

        jmiDesconectarse.setText("Desconectarse");
        jmiDesconectarse.setEnabled(false);
        jmiDesconectarse.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiDesconectarseActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiDesconectarse);

        jmiSalir.setText("Salir");
        jmiSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiSalirActionPerformed(evt);
            }
        });
        jmArchivo.add(jmiSalir);

        jMenuBar1.add(jmArchivo);

        jmAcciones.setText("Acciones");

        jmiAgregar.setText("Agregar Ejercito");
        jmiAgregar.setEnabled(false);
        jmiAgregar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAgregarActionPerformed(evt);
            }
        });
        jmAcciones.add(jmiAgregar);

        jmiAtacar.setText("Atacar");
        jmiAtacar.setEnabled(false);
        jmiAtacar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiAtacarActionPerformed(evt);
            }
        });
        jmAcciones.add(jmiAtacar);

        jmiReagrupar.setText("Reagrupar");
        jmiReagrupar.setEnabled(false);
        jmiReagrupar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jmiReagruparActionPerformed(evt);
            }
        });
        jmAcciones.add(jmiReagrupar);

        jmiFinTruno.setText("Fin Turno");
        jmiFinTruno.setEnabled(false);
        jmAcciones.add(jmiFinTruno);

        jMenuBar1.add(jmAcciones);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 565, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(jbEnviar))
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                    .addGap(23, 23, 23)
                                    .addComponent(jbEnviarTropas, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18)
                                    .addComponent(jbAtacar, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18)
                                    .addComponent(jbReagruparTropas, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(18, 18, 18)
                                    .addComponent(jbFinTurno, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(101, 101, 101)
                                    .addComponent(jbObjetivo, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jScrollPane3))
                                .addComponent(jlpMapa, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 639, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 648, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jpDados, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
                    .addComponent(jpInformacion, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
                    .addComponent(jpRonda, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
                    .addComponent(jpAtacar, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE)
                    .addComponent(jpAgregar, javax.swing.GroupLayout.DEFAULT_SIZE, 189, Short.MAX_VALUE))
                .addGap(34, 34, 34))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
                            .addComponent(jbObjetivo, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(jbEnviarTropas, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
                                .addComponent(jbReagruparTropas, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE)
                                .addComponent(jbAtacar, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE))
                            .addComponent(jbFinTurno, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jlpMapa, javax.swing.GroupLayout.PREFERRED_SIZE, 401, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jbEnviar)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jpInformacion, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jpRonda, javax.swing.GroupLayout.PREFERRED_SIZE, 185, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jpAgregar, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jpAtacar, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jpDados, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    
            
    private void jmiCrearJuegoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiCrearJuegoActionPerformed
        if(usuario == null){
            new VentanaSesion(this, false).setVisible(true);
        }else{
            vsc = new VentanaSeleccionColor(this, true);
            vsc.setVisible(true);
        }
    }//GEN-LAST:event_jmiCrearJuegoActionPerformed

    private void jmiConectarseJuegoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiConectarseJuegoActionPerformed
        if(usuario == null){
            new VentanaCliente(this, false).setVisible(true);
        }else{
            vscc = new VentanaSeleccionColorCliente(this, true);
            vscc.setVisible(true);
        }
    }//GEN-LAST:event_jmiConectarseJuegoActionPerformed

    private void jmiDesconectarseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiDesconectarseActionPerformed
        if(cliente != null){
            cliente.interrupt();
        }
    }//GEN-LAST:event_jmiDesconectarseActionPerformed

    private void jbEnviarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbEnviarActionPerformed
         cliente.flujo(jtaChat.getText());
         jtaChat.setText("");
    }//GEN-LAST:event_jbEnviarActionPerformed

private void jbEnviarTropasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbEnviarTropasActionPerformed
    if(verificarColocarEjercito()){
        if(cliente.getJugador().getColor().compareTo(cliente.getColorDePais(jtfPais.getText().trim()))==0){
            try{
                JLabel label = buscarLabel(jtfPais.getText());
                String direccion = label.getIcon().toString();
                String numEjerc = direccion.substring(direccion.length()-5, direccion.length()-4);
                int ejercito = Integer.parseInt(numEjerc)+1;
                if(ejercito == 10){
                    JOptionPane.showMessageDialog(null, "No se puede agregar mas ejercito", "Atencion", JOptionPane.INFORMATION_MESSAGE);
                }else{
                    String color = cliente.getJugador().getColor();
                    direccion = "/imagenes/fichas/"+color+ejercito+".png";
                    label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    int cantPaisesColocar = Integer.parseInt(jtfEjercitoAColocar.getText());
                    cantPaisesColocar--;
                    jtfEjercitoAColocar.setText(cantPaisesColocar+"");
                    cliente.actualizarAgregarTropas(jtfPais.getText().trim(), direccion, ejercito);
                    cliente.setTropaAPais(jtfPais.getText(),ejercito, color );
                }
            }catch(Exception e){System.out.println("Error en control de ejercito a colocar");}
        }
    }
}//GEN-LAST:event_jbEnviarTropasActionPerformed

private void jmiSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiSalirActionPerformed
    System.exit(0);
}//GEN-LAST:event_jmiSalirActionPerformed

private void jbReagruparTropasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbReagruparTropasActionPerformed
//la variable primera vez desplazar indica que true si es la primera vez qeu en esta ronda
    // que se presiona el boton desplazar... esto sirve para crear un array de paises que indica
    //los ejercitos que pueden desplazarse...
    if(cliente.getJugador().getColor().equalsIgnoreCase(cliente.getColorDePais(jtfPaisOrigen.getText())) &&
            cliente.getJugador().getColor().equalsIgnoreCase(cliente.getColorDePais(jtfPaisDestino.getText()))){
        if(priveraVezDesplazar)
        {
            /*si es la primera vez, se crea un array de paises que incluye todos los paises
             que tengo... en este array se tiene la cantidad de ejercitos que pueden desplazarse
             por ej... si españa tiene 5 ejercitos, puede desplazar 4... se crea 1 vez por ronda
             * y de esa forma nos evitamos fijarnos en el mapa real y no nos podemos confundir con
             * anteriores movimientos... es decir... en el mapa real tiene 4 ejercitos, pero despues
             * desplazamos otro de francia y ahora españa tieen 5 ejercitos...sin embargo en el array,
             * españa fue creado con 3 ejercitos (los que puede desplazar) por lo que cuando me fije si espala
             * puede desplazar ejercito, me voy a fijar en el array y no en el mapa real...
             */
            movimientoPais = cliente.getArrayPaisesPropios();
            priveraVezDesplazar=false;
        }
        if(verificarLimitrofes()){
//             boolean aux=verificarIgualJugador();
             //esto lo hice asi porque me fallaba y haciendo esto me andubo...sin comentarios
//             if(aux)
//             {//recirro el arreglo buscando el pais
                 Iterator i=movimientoPais.iterator();
                 while(i.hasNext())
                 {
                     Pais au=(Pais) i.next();
                     //si es el pais y tiene tropas para desplazar
                     if(au.getNombre().compareTo(jtfPaisOrigen.getText())==0 && au.getTropas()>1)
                     {
                          au.setTropas(au.getTropas()-1);
                          String paisOrigen = jtfPaisOrigen.getText();
                          String paisDestino = jtfPaisDestino.getText();
                          //ahi me fijo si el ejercito del pais de origen tieen mas de 1 ejercito
                            if(cliente.obtenerEjercitoDePais(paisOrigen)>1)
                            {
                                cliente.restaEjercito(paisOrigen);
                                cliente.agregarEjercito(paisDestino);
                                //le resto un ejercito al pais origen y le incorporo 1 al de destino
                                try{
                                    //pongo los labels correctos
                                    JLabel label = buscarLabel(jtfPaisDestino.getText());
                                    String direccion = label.getIcon().toString();
                                    int ejercito = cliente.obtenerEjercitoDePais(jtfPaisDestino.getText());
                                    String color = cliente.getColorDePais(jtfPaisDestino.getText());
                                    direccion = "/imagenes/fichas/"+color+ejercito+".png";
                                    label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                                    cliente.actualizarAgregarTropas(jtfPaisDestino.getText().trim(), direccion, ejercito);

                                    label = buscarLabel(jtfPaisOrigen.getText());
                                    direccion = label.getIcon().toString();
                                    ejercito = cliente.obtenerEjercitoDePais(paisOrigen);
                                    color = cliente.getColorDePais(paisOrigen);
                                    direccion = "/imagenes/fichas/"+color+ejercito+".png";
                                    label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                                    cliente.actualizarAgregarTropas(jtfPaisOrigen.getText().trim(), direccion, ejercito);
                                }catch(Exception e){System.out.println("Error en control de ejercito a colocar");}
                            jbAtacar.setEnabled(false);
                            jmiAtacar.setEnabled(false);
                            }
                     }
                 }
//             }
         }
    }
}//GEN-LAST:event_jbReagruparTropasActionPerformed

private void jbFinTurnoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbFinTurnoActionPerformed
    this.jtfEjercitoAColocar.setText("");
    this.jtfPaisOrigen.setText("");
    this.jtfPaisDestino.setText("");

    this.verificarEstado();
   /* if(cliente.verificarMision())
    {
        jtaInformacion.setText("Ganaste!!!!");
    }*/
    priveraVezDesplazar=true;
    this.deshabilitarBotones();
    if(jrbJugador1.isSelected()){
        jrbJugador2.setSelected(true);
        jrbJugador2.setEnabled(true);
        jrbJugador1.setSelected(false);
        jrbJugador1.setEnabled(false);
        cliente.avisarProximoTurno(2);
    }
    else if(jrbJugador2.isSelected()){
        jrbJugador2.setSelected(false);
        jrbJugador2.setEnabled(false);
        if(jrbJugador3.isVisible()){
            jrbJugador3.setSelected(true);
            jrbJugador3.setEnabled(true);
            cliente.avisarProximoTurno(3);
        }else{
            if(atacar){
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                cliente.avisarProximoTurno(1);
            }else{
                this.nuevaRonda();
            }
        }
    }else if(jrbJugador3.isSelected()){
        jrbJugador3.setSelected(false);
        jrbJugador3.setEnabled(false);
        if(jrbJugador4.isVisible()){
            jrbJugador4.setSelected(true);
            jrbJugador4.setEnabled(true);
            cliente.avisarProximoTurno(4);
        }else{
            if(atacar){
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                cliente.avisarProximoTurno(1);
            }else{
                this.nuevaRonda();
            }
        }
    }else if(jrbJugador4.isSelected()){
        jrbJugador4.setSelected(false);
        jrbJugador4.setEnabled(false);
        if(jrbJugador5.isVisible()){
            jrbJugador5.setSelected(true);
            jrbJugador5.setEnabled(true);
            cliente.avisarProximoTurno(5);
        }else{
            if(atacar){
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                cliente.avisarProximoTurno(1);
            }else{
                this.nuevaRonda();
            }
        }
    }else if(jrbJugador5.isSelected()){
        jrbJugador5.setSelected(false);
        jrbJugador5.setEnabled(false);
        if(jrbJugador6.isVisible()){
            jrbJugador6.setSelected(true);
            jrbJugador6.setEnabled(true);
            cliente.avisarProximoTurno(6);
        }else{
            if(atacar){
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                cliente.avisarProximoTurno(1);
            }else{
                this.nuevaRonda();
            }
        }
    }else if(jrbJugador6.isSelected()){
        jrbJugador6.setSelected(false);
        jrbJugador6.setEnabled(false);
        if(atacar){
            jrbJugador1.setSelected(true);
            jrbJugador1.setEnabled(true);
            cliente.avisarProximoTurno(1);
        }else{
            this.nuevaRonda();
        }
    }
    
    
}//GEN-LAST:event_jbFinTurnoActionPerformed

private void jbAtacarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbAtacarActionPerformed
    if(cliente.getJugador().getColor().equalsIgnoreCase(cliente.getColorDePais(jtfPaisOrigen.getText())) &&
            cliente.getJugador().getColor().compareToIgnoreCase(cliente.getColorDePais(jtfPaisDestino.getText())) != 0){
        if(verificarLimitrofes()){
            if(verificarDistintosJugadores()){
                this.resolverAtaque();
            }
        }
    }
}//GEN-LAST:event_jbAtacarActionPerformed

    private void jtfPaisDestinoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jtfPaisDestinoActionPerformed
        jtfPaisDestino.setText("");
    }//GEN-LAST:event_jtfPaisDestinoActionPerformed

    private void jtfPaisOrigenActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jtfPaisOrigenActionPerformed
        jtfPaisOrigen.setText("");
    }//GEN-LAST:event_jtfPaisOrigenActionPerformed

    private void jrbJugador1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador1ActionPerformed
        jrbJugador1.setSelected(true);
    }//GEN-LAST:event_jrbJugador1ActionPerformed

    private void jrbJugador2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador2ActionPerformed
        jrbJugador2.setSelected(true);
    }//GEN-LAST:event_jrbJugador2ActionPerformed

    private void jrbJugador4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador4ActionPerformed
        jrbJugador4.setSelected(true);
    }//GEN-LAST:event_jrbJugador4ActionPerformed

    private void jrbJugador3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador3ActionPerformed
        jrbJugador3.setSelected(true);
    }//GEN-LAST:event_jrbJugador3ActionPerformed

    private void jrbJugador5ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador5ActionPerformed
        jrbJugador5.setSelected(true);
    }//GEN-LAST:event_jrbJugador5ActionPerformed

    private void jrbJugador6ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jrbJugador6ActionPerformed
        jrbJugador6.setSelected(true);
    }//GEN-LAST:event_jrbJugador6ActionPerformed

    private void jbObjetivoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbObjetivoActionPerformed
        if(mostrarObjetivo){
            mostrarObjetivo = false;
            jtaObjetivo.setVisible(false);
            jScrollPane3.setVisible(false);
            jbObjetivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/CandadoCerrado.png")));
        }else{
            if(this.pedirContraseña()){
                mostrarObjetivo = true;
                jtaObjetivo.setVisible(true);
                jScrollPane3.setVisible(true);
                jbObjetivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/CandadoAbierto.png")));
            }
        }
    }//GEN-LAST:event_jbObjetivoActionPerformed

    private void jmiAgregarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAgregarActionPerformed
        jbEnviarTropasActionPerformed(evt);
    }//GEN-LAST:event_jmiAgregarActionPerformed

    private void jmiAtacarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiAtacarActionPerformed
        jbAtacarActionPerformed(evt);
    }//GEN-LAST:event_jmiAtacarActionPerformed

    private void jmiReagruparActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jmiReagruparActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jmiReagruparActionPerformed



    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel10;
    private javax.swing.JLabel jLabel11;
    private javax.swing.JLabel jLabel12;
    private javax.swing.JLabel jLabel13;
    private javax.swing.JLabel jLabel14;
    private javax.swing.JLabel jLabel17;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JButton jbAtacar;
    private javax.swing.JButton jbEnviar;
    private javax.swing.JButton jbEnviarTropas;
    private javax.swing.JButton jbFinTurno;
    private javax.swing.JButton jbObjetivo;
    private javax.swing.JButton jbReagruparTropas;
    private javax.swing.JLabel jlAlaska;
    private javax.swing.JLabel jlAlemania;
    private javax.swing.JLabel jlArabia;
    private javax.swing.JLabel jlAral;
    private javax.swing.JLabel jlArgentina;
    private javax.swing.JLabel jlAustralia;
    private javax.swing.JLabel jlBorneo;
    private javax.swing.JLabel jlBrasil;
    private javax.swing.JLabel jlCalifornia;
    private javax.swing.JLabel jlCanada;
    private javax.swing.JLabel jlChile;
    private javax.swing.JLabel jlChina;
    private javax.swing.JLabel jlColombia;
    private javax.swing.JLabel jlColor1;
    private javax.swing.JLabel jlColor2;
    private javax.swing.JLabel jlColor3;
    private javax.swing.JLabel jlColor4;
    private javax.swing.JLabel jlColor5;
    private javax.swing.JLabel jlColor6;
    private javax.swing.JLabel jlDadoOponente1;
    private javax.swing.JLabel jlDadoOponente2;
    private javax.swing.JLabel jlDadoOponente3;
    private javax.swing.JLabel jlDadoYo1;
    private javax.swing.JLabel jlDadoYo2;
    private javax.swing.JLabel jlDadoYo3;
    private javax.swing.JLabel jlEgipto;
    private javax.swing.JLabel jlEspania;
    private javax.swing.JLabel jlEtiopia;
    private javax.swing.JLabel jlFrancia;
    private javax.swing.JLabel jlGobi;
    private javax.swing.JLabel jlGranBretania;
    private javax.swing.JLabel jlGroenlandia;
    private javax.swing.JLabel jlIndia;
    private javax.swing.JLabel jlIran;
    private javax.swing.JLabel jlIslandia;
    private javax.swing.JLabel jlIsrael;
    private javax.swing.JLabel jlItalia;
    private javax.swing.JLabel jlJapon;
    private javax.swing.JLabel jlJava;
    private javax.swing.JLabel jlKatchatka;
    private javax.swing.JLabel jlLabrador;
    private javax.swing.JLabel jlMadagascar;
    private javax.swing.JLabel jlMalasia;
    private javax.swing.JLabel jlMexico;
    private javax.swing.JLabel jlMongolia;
    private javax.swing.JLabel jlNuevaYork;
    private javax.swing.JLabel jlOregon;
    private javax.swing.JLabel jlPeru;
    private javax.swing.JLabel jlPolonia;
    private javax.swing.JLabel jlRusia;
    private javax.swing.JLabel jlSahara;
    private javax.swing.JLabel jlSiberia;
    private javax.swing.JLabel jlSudafrica;
    private javax.swing.JLabel jlSuecia;
    private javax.swing.JLabel jlSumatra;
    private javax.swing.JLabel jlTablero;
    private javax.swing.JLabel jlTaimir;
    private javax.swing.JLabel jlTartaria;
    private javax.swing.JLabel jlTerranova;
    private javax.swing.JLabel jlTurquia;
    private javax.swing.JLabel jlUruguay;
    private javax.swing.JLabel jlYukon;
    private javax.swing.JLabel jlZaire;
    private javax.swing.JLayeredPane jlpMapa;
    private javax.swing.JMenu jmAcciones;
    private javax.swing.JMenu jmArchivo;
    private javax.swing.JMenuItem jmiAgregar;
    private javax.swing.JMenuItem jmiAtacar;
    private javax.swing.JMenuItem jmiConectarseJuego;
    private javax.swing.JMenuItem jmiCrearJuego;
    private javax.swing.JMenuItem jmiDesconectarse;
    private javax.swing.JMenuItem jmiFinTruno;
    private javax.swing.JMenuItem jmiReagrupar;
    private javax.swing.JMenuItem jmiSalir;
    private javax.swing.JPanel jpAgregar;
    private javax.swing.JPanel jpAtacar;
    private javax.swing.JPanel jpDados;
    private javax.swing.JPanel jpInformacion;
    private javax.swing.JPanel jpRonda;
    private javax.swing.JRadioButton jrbJugador1;
    private javax.swing.JRadioButton jrbJugador2;
    private javax.swing.JRadioButton jrbJugador3;
    private javax.swing.JRadioButton jrbJugador4;
    private javax.swing.JRadioButton jrbJugador5;
    private javax.swing.JRadioButton jrbJugador6;
    private javax.swing.JTextArea jtaChat;
    private javax.swing.JTextArea jtaInformacion;
    private javax.swing.JTextArea jtaObjetivo;
    private javax.swing.JTextField jtfEjercito;
    private javax.swing.JTextField jtfEjercitoAColocar;
    private javax.swing.JTextField jtfJugador;
    private javax.swing.JTextField jtfPais;
    private javax.swing.JTextField jtfPaisDestino;
    private javax.swing.JTextField jtfPaisOrigen;
    private javax.swing.JLabel resultado0;
    private javax.swing.JLabel resultado1;
    private javax.swing.JLabel resultado2;
    // End of variables declaration//GEN-END:variables

    public void crearCliente(Jugador jugador, String ipServer) {
        cliente = new Cliente(this, jugador, ipServer);
        cliente.start();
    }

    public void actualizarChat(String texto) {
        jtaInformacion.append(texto);
        jtaInformacion.setCaretPosition(jtaInformacion.getDocument().getLength());
    }

    void crearGestorServidor(Jugador jugador){
        servidor = new Servidor(this);
        servidor.start();
        cliente = new Cliente(this, jugador, "127.0.0.1");
        try{
            Thread.sleep(200);
            cliente.conexion();
        }catch(Exception e){
            System.out.println("Error - No se creo el cliente\n");
        }
    }

    public void comenzarPartida() {
        actualizarChat("Comenzo la partida!!!\n\n");
        if(servidor != null){
            cliente.gestionarJuego();
        }
    }

    String[] traeNombresYColores() {
        return cliente.traeNombresYColores();
    }

    public void actualizarPais(String color, String pais, int tropas) {
        JLabel etiqueta = this.buscarLabel(pais);
        Icon imagen = this.buscarImagen(tropas, color);
        etiqueta.setIcon(imagen);
    }

    private JLabel buscarLabel(String pais) {
        JLabel seleccionado = null;
        if(pais.equals("Argentina"))
            seleccionado = jlArgentina;
        else if(pais.equals("Brasil"))
            seleccionado = jlBrasil;      
        else if(pais.equals("Yukon"))
            seleccionado = jlYukon;    
        else if (pais.equals("Alaska"))
            seleccionado = jlAlaska;
        else if (pais.equals("California"))
            seleccionado = jlCalifornia;
        else if (pais.equals("Canada"))
            seleccionado = jlCanada;
        else if (pais.equals("Groenlandia"))
            seleccionado = jlGroenlandia;
        else if (pais.equals("Labrador"))
            seleccionado = jlLabrador;
        else if (pais.equals("Mexico"))
            seleccionado = jlMexico;
        else if (pais.equals("NuevaYork"))
            seleccionado = jlNuevaYork;
        else if (pais.equals("Oregon"))
            seleccionado = jlOregon;
        else if (pais.equals("Terranova"))
            seleccionado = jlTerranova;
        else if (pais.equals("Yukon"))
            seleccionado = jlYukon;
        else if (pais.equals("Colombia"))
            seleccionado = jlColombia;
        else if (pais.equals("Uruguay"))
            seleccionado = jlUruguay;
        else if (pais.equals("Chile"))
            seleccionado = jlChile;
        else if (pais.equals("Peru"))
            seleccionado = jlPeru;
        else if (pais.equals("Sahara"))
            seleccionado = jlSahara;
        else if (pais.equals("Egipto"))
            seleccionado = jlEgipto;
        else if (pais.equals("Madagascar"))
            seleccionado = jlMadagascar;
        else if (pais.equals("Sudafrica"))
            seleccionado = jlSudafrica;
        else if (pais.equals("Zaire"))
            seleccionado = jlZaire;
        else if (pais.equals("Borneo"))
            seleccionado = jlBorneo;
        else if (pais.equals("Sumatra"))
            seleccionado = jlSumatra;
        else if (pais.equals("Java"))
            seleccionado = jlJava;
        else if (pais.equals("Australia"))
            seleccionado = jlAustralia;
        else if (pais.equals("Malasia"))
            seleccionado = jlMalasia;
        else if (pais.equals("India"))
            seleccionado = jlIndia;
        else if (pais.equals("China"))
            seleccionado = jlChina;
        else if (pais.equals("Katchatka"))
            seleccionado = jlKatchatka;
        else if (pais.equals("Arabia"))
            seleccionado = jlArabia;
        else if (pais.equals("Israel"))
            seleccionado = jlIsrael;
        else if (pais.equals("Turquia"))
            seleccionado = jlTurquia;
        else if (pais.equals("Iran"))
            seleccionado = jlIran;
        else if (pais.equals("Gobi"))
            seleccionado = jlGobi;
        else if (pais.equals("Aral"))
            seleccionado = jlAral;
        else if (pais.equals("Taimir"))
            seleccionado = jlTaimir;
        else if (pais.equals("Mongolia"))
            seleccionado = jlMongolia;
        else if (pais.equals("Japon"))
            seleccionado = jlJapon;
        else if (pais.equals("Etiopia"))
            seleccionado = jlEtiopia;
        else if (pais.equals("Tartaria"))
            seleccionado = jlTartaria;
        else if (pais.equals("Siberia"))
            seleccionado = jlSiberia;
        else if (pais.equals("Suecia"))
            seleccionado = jlSuecia;
        else if (pais.equals("Polonia"))
            seleccionado = jlPolonia;
        else if (pais.equals("Alemania"))
            seleccionado = jlAlemania;
        else if (pais.equals("GranBretania"))
            seleccionado = jlGranBretania;
        else if (pais.equals("Islandia"))
            seleccionado = jlIslandia;
        else if (pais.equals("Espania"))
            seleccionado = jlEspania;
        else if (pais.equals("Italia"))
            seleccionado = jlItalia;
        else if (pais.equals("Rusia"))
            seleccionado = jlRusia;
        else if (pais.equals("Francia"))
            seleccionado = jlFrancia;
        return seleccionado;
    }

    private ImageIcon buscarImagen(int tropas, String color) {
        ImageIcon imagenSelec = null;
        switch(tropas){
            case 1:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo1.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo1.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul1.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja1.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro1.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde1.png"));
                break;
            case 2:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo2.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo2.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul2.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja2.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro2.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde2.png"));
                break;
            case 3:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo3.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo3.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul3.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja3.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro3.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde3.png"));
                break;
            case 4:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo4.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo4.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul4.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja4.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro4.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde4.png"));
                break;
            case 5:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo5.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo5.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul5.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja5.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro5.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde5.png"));
                break;
            case 6:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo6.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo6.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul6.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja6.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro6.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde6.png"));
                break;
            case 7:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo7.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo7.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul7.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja7.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro7.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde7.png"));
                break;
            case 8:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo8.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo8.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul8.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja8.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro8.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde8.png"));
                break;
            case 9:
                if(color.equals("Rojo"))                    
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Rojo9.png"));
                else if(color.equals("Amarillo"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Amarillo9.png"));
                else if(color.equals("Azul"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Azul9.png"));
                else if(color.equals("Naranja"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Naranja9.png"));
                else if(color.equals("Negro"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Negro9.png"));
                else if(color.equals("Verde"))
                    imagenSelec = new ImageIcon(getClass().getResource("/imagenes/fichas/Verde9.png"));
                break;
        }
        return imagenSelec;
    }

    public void modificarTurnos(String[] nombreJugadores, String[] coloresJugadores) {
        String[] direcciones = this.buscarColores(coloresJugadores);
        switch(nombreJugadores.length){
            case 6:
                jrbJugador6.setText(nombreJugadores[5]);
                jrbJugador6.setVisible(true);
                jrbJugador6.setSelected(false);
                jrbJugador6.setEnabled(false);
                jlColor6.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[5])));
                jlColor6.setVisible(true);
            case 5:
                jrbJugador5.setText(nombreJugadores[4]);
                jrbJugador5.setVisible(true);
                jrbJugador5.setSelected(false);
                jrbJugador5.setEnabled(false);
                jlColor5.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[4])));
                jlColor5.setVisible(true);
            case 4:
                jrbJugador4.setText(nombreJugadores[3]);
                jrbJugador4.setVisible(true);
                jrbJugador4.setSelected(false);
                jrbJugador4.setEnabled(false);
                jlColor4.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[3])));
                jlColor4.setVisible(true);
            case 3:
                jrbJugador3.setText(nombreJugadores[2]);
                jrbJugador3.setVisible(true);
                jrbJugador3.setSelected(false);
                jrbJugador3.setEnabled(false);
                jlColor3.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[2])));
                jlColor3.setVisible(true);
            case 2:
                jrbJugador2.setText(nombreJugadores[1]);
                jrbJugador1.setText(nombreJugadores[0]);
                jrbJugador2.setVisible(true);
                jrbJugador1.setVisible(true);
                jrbJugador2.setSelected(false);
                jrbJugador2.setEnabled(false);
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                jlColor2.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[1])));
                jlColor2.setVisible(true);
                jlColor1.setIcon(new javax.swing.ImageIcon(getClass().getResource(direcciones[0])));
                jlColor1.setVisible(true);
                this.VerificarSiEsMiTurno();
                break;
            case 1:
                System.out.println("Error - No puede jugar un solo jugador!!");
        }
    }

    private void VerificarSiEsMiTurno() {
        jbAtacar.setEnabled(false);
        jmiAtacar.setEnabled(false);
        if(jrbJugador1.isSelected()){
            if(jrbJugador1.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
        }
        else if(jrbJugador2.isSelected()){
            if(jrbJugador2.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
        }
        else if(jrbJugador3.isSelected()){
            if(jrbJugador3.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
        }
        else if(jrbJugador4.isSelected()){
            if(jrbJugador4.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
        }
        else if(jrbJugador5.isSelected()){
            if(jrbJugador4.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
        }
        else if(jrbJugador6.isSelected()){
            if(jrbJugador4.getText().equals(cliente.getJugador().getNombre())){
                this.habilitarBotones();}
            else{
                System.out.println("Error en asignacion turno -  No hay turno!");
            }
        }
    }


    //este metodo deberia verificar q acciones se le permiten al usuario
    private void habilitarBotones() {
        jbFinTurno.setEnabled(true);
        jmiFinTruno.setEnabled(true);
        if(agregarEjercito){
            this.habilitarAgregarEjercito();
        }else{
            this.habilitarAtacar();
        }
    }

    private void habilitarAgregarEjercito() {
        jbEnviarTropas.setEnabled(true);
        jmiAgregar.setEnabled(true);
        jbAtacar.setEnabled(false);
        jmiAtacar.setEnabled(false);
        jbReagruparTropas.setEnabled(false);
        jmiReagrupar.setEnabled(false);
        if(primeraRonda){
            primeraRonda = false;
            jtfEjercitoAColocar.setText("12");
        }else{
            int ejercitoAColocar = (int)(cliente.getArrayPaisesPropios(cliente.getJugador().getColor()).size()/2)+cliente.TropasExtras();
            jtfEjercitoAColocar.setText(ejercitoAColocar+"");
            jtaInformacion.append("\nObtienes "+cliente.TropasExtras()+" tropas extras por conquistar contienetes\n");
        }
    }

    private void habilitarAtacar() {
        jbAtacar.setEnabled(true);
        jmiAtacar.setEnabled(true);
        jbReagruparTropas.setEnabled(true);
        jmiReagrupar.setEnabled(true);
        jbEnviarTropas.setEnabled(false);
        jmiAgregar.setEnabled(false);
    }
    
    private boolean verificarColocarEjercito() {
        if(jtfEjercitoAColocar.getText().equals("0") || jtfEjercitoAColocar.getText().equals("")){
            return false;
        }
        return true;
    }

    public void actualizarLabel(String pais, String direccion) {
        JLabel label = this.buscarLabel(pais);
        label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
    }

    private void nuevaRonda() {
        jrbJugador1.setSelected(false);
        jrbJugador2.setSelected(false);
        jrbJugador3.setSelected(false);
        jrbJugador4.setSelected(false);
        jrbJugador5.setSelected(false);
        jrbJugador6.setSelected(false);
        jrbJugador6.setEnabled(false);
        jrbJugador5.setEnabled(false);
        jrbJugador4.setEnabled(false);
        jrbJugador3.setEnabled(false);
        jrbJugador2.setEnabled(false);
        jrbJugador1.setEnabled(false);
        if(cliente.verificarMision()){
            JOptionPane.showMessageDialog(null, "¡¡¡¡GANASTE!!!!");
            cliente.avisarQueGane();
            cliente=null;
            return;
        }else{
            cliente.avisarVerificarMision();
        }
        cliente.comenzarNuevaRonda();
        if(perdi)
        {
            cliente=null;
        }
    }

    private void verificarEstado() {
        if(agregarEjercito){
            atacar = true;
            agregarEjercito = false;
        }else{
            agregarEjercito = true;
            atacar = false;
        }
    }

    public void setearTurno(int proxTurno) {
        switch(proxTurno){
            case 1:
                jrbJugador1.setSelected(true);
                jrbJugador1.setEnabled(true);
                jrbJugador2.setSelected(false);
                jrbJugador2.setEnabled(false);
                jrbJugador3.setSelected(false);
                jrbJugador3.setEnabled(false);
                jrbJugador4.setSelected(false);
                jrbJugador4.setEnabled(false);
                jrbJugador5.setSelected(false);
                jrbJugador5.setEnabled(false);
                jrbJugador6.setSelected(false);
                jrbJugador6.setEnabled(false);
                break;
            case 2:
                jrbJugador1.setSelected(false);
                jrbJugador1.setEnabled(false);
                jrbJugador2.setSelected(true);
                jrbJugador2.setEnabled(true);
                break;
            case 3:
                jrbJugador2.setSelected(false);
                jrbJugador2.setEnabled(false);
                jrbJugador3.setSelected(true);
                jrbJugador3.setEnabled(true);
                break;
            case 4:
                jrbJugador3.setSelected(false);
                jrbJugador3.setEnabled(false);
                jrbJugador4.setSelected(true);
                jrbJugador4.setEnabled(true);
                break;
            case 5:
                jrbJugador4.setSelected(false);
                jrbJugador4.setEnabled(false);
                jrbJugador5.setSelected(true);
                jrbJugador5.setEnabled(true);
                break;
            case 6:
                jrbJugador5.setSelected(false);
                jrbJugador5.setEnabled(false);
                jrbJugador6.setSelected(true);
                jrbJugador6.setEnabled(true);
                break;
        }
        this.VerificarSiEsMiTurno();
    }

    private void deshabilitarBotones() {
        jbEnviarTropas.setEnabled(false);
        jmiAgregar.setEnabled(false);
        jbFinTurno.setEnabled(false);
        jmiFinTruno.setEnabled(false);
        jbAtacar.setEnabled(false);
        jmiAtacar.setEnabled(false);
        jbReagruparTropas.setEnabled(false);
        jmiReagrupar.setEnabled(false);
//        jbTomarTarjeta.setEnabled(false);
    }

    private boolean verificarLimitrofes() {
        String paisOrigen = jtfPaisOrigen.getText();
        String paisDestino = jtfPaisDestino.getText();
        if(paisOrigen.equals("") || paisDestino.equals("")){
            return false;
        }
        else if(verificarSiSonLimitrofes(paisOrigen,paisDestino)){
            return true;
        }else{
            return false;
        }
    }

    private boolean verificarSiSonLimitrofes(String paisOrigen, String paisDestino) {
        return cliente.verificarLimitrofes(paisOrigen, paisDestino);     
    }

    private boolean verificarDistintosJugadores() 
    {       
        String paisOrigen = jtfPaisOrigen.getText();
        String paisDestino = jtfPaisDestino.getText();
        return  cliente.verificarDistintosJugadores(paisOrigen, paisDestino);
    }

    private void ordenarDados(int[] valorDado) {
        int n = valorDado.length;
        // aplicamos el algoritmo SelectionSort
        for ( int i = 0; i < n-1; i++ )
        {
            int ri = valorDado[i];

            for ( int j = i+1; j < n; j++ )
            {
                int rj = valorDado[j];
                if ( ri < rj )
                {
                    valorDado[j] = ri;
                    int aux = ri;
                    ri  = rj;
                    rj = aux;
                }
            }
            valorDado[i] = ri;
        }
    }
    
    private void resolverAtaque() {
        int perdidasAtaque = 0;
        int perdidasDefensa = 0;
        int[] dadosOrigen;
        int[] dadosDestino;
        int dadosEnJuego = 0;
        int ejercitoOrigen = cliente.obtenerEjercitoDePais(jtfPaisOrigen.getText());
        int ejercitoDestino = cliente.obtenerEjercitoDePais(jtfPaisDestino.getText());
        if(ejercitoOrigen <= 1){
            JOptionPane.showMessageDialog(null, "Imposible atacar con un ejercito");
        }else{
            //Fijate aca creo los vertores dadoOrigen y destino con tamaño 1,2 y 3; no siempre va a ser de 3
            switch(ejercitoOrigen){
                case 2:{
                    dadosOrigen = new int[1];
                    break;
                }
                case 3:{
                    dadosOrigen = new int[2];
                    break;
                }
                default:{
                    dadosOrigen = new int[3];
                    break;
                }
            }
            switch(ejercitoDestino){
                case 1:{
                    dadosDestino = new int[1];
                    break;
                }
                case 2:{
                    dadosDestino = new int[2];
                    break;
                }
                default:{
                    dadosDestino = new int[3];
                    break;
                }
            }
            if(dadosOrigen.length > dadosDestino.length){//Aca averiguo cuantos dados van a definir el ataque, el q tenga menos dados
                dadosEnJuego = dadosDestino.length;
            }else{
                dadosEnJuego = dadosOrigen.length;
            }            
            
            //Esto estaba bien xq yo no creo vectores de tamaño 3, sino del tamaño de la cantidad de dados q necesito, fijate linea 1830 comente
            
            //Lo q hago aca es q aunq el defensor x ejemplo tire un dado y vos podes tirar 3 en el juego vos tiras los 3 y el q sale mas grande es el unico q participa
            for (int i = 0; i < dadosOrigen.length; i++) {
                dadosOrigen[i] = (int)(Math.random()*6 + 1);
            }
            for (int i = 0; i < dadosDestino.length; i++) {
                dadosDestino[i] = (int)(Math.random()*6 + 1);
            }
            this.ordenarDados(dadosDestino);//Aca los ordeno para q los mas altos queden adelante
            this.ordenarDados(dadosOrigen);
            cliente.avisarDadosAOponente(dadosOrigen, dadosDestino, cliente.getColorDePais(jtfPaisDestino.getText())); //para q muestre solo el atacado los dados
            this.mostrarDados(dadosOrigen, dadosDestino); // mostrar los dados en esta pantalla
            for (int i = 0; i < dadosEnJuego; i++) {
                if(dadosOrigen[i] > dadosDestino[i]){//y aca define en dos contadores cuanto ejercito pierde uno u otro lo cual mas adelante resuelve q ocurrira
                    perdidasDefensa++;
                }else{
                    perdidasAtaque++;
                }
            }
            if(perdidasAtaque != 0){//si el atacante perdio tropas, solo se pierde ejercito
                this.descontarEjercito(perdidasAtaque, jtfPaisOrigen.getText());
            }
            if(perdidasDefensa != 0){//si el defensa perdio tropas, se pierde ejercito y puede llegar a perder el pais
                this.descontarEjercito(perdidasDefensa, jtfPaisDestino.getText());
            }
            this.avisarAtaque(); //Le aviso a todos los cambios en los dos paises
        }
    }

    private void descontarEjercito(int perdidas, String pais) {
        String color = cliente.getColorDePais(pais);
        int ejercito = cliente.obtenerEjercitoDePais(pais);
        ejercito = ejercito - perdidas;
        cliente.restaEjercito(pais, perdidas);
        if(ejercito == 0){  //Aqui se fija si fue conquistado o no, nunca puede dar negativo
            this.paisConquistado(pais);
        }else{
            JLabel label = buscarLabel(pais);
            String direccion = "/imagenes/fichas/"+color+ejercito+".png";
            label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
        }
    }

    private void paisConquistado(String pais) {
        JLabel label = buscarLabel(pais);
        String color = this.cliente.getJugador().getColor();
        int ejer = cliente.obtenerEjercitoDePais(jtfPaisOrigen.getText());
        VentanaReagrupar dialog = new VentanaReagrupar(this, true, ejer);
        dialog.setVisible(true);
        cliente.setTropaAPais(pais, envio, color);  //setea los nuevos valores para el pais conquistado
        String direccion = "/imagenes/fichas/"+color+envio+".png";
        label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
        //Tambien debe setear los valores del pais conquistador q acaba de pasar las tropas
        ejer = ejer - envio;
        direccion = "/imagenes/fichas/"+color+ejer+".png";
        label = buscarLabel(jtfPaisOrigen.getText());
        label.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
        cliente.restaEjercito(jtfPaisOrigen.getText(), envio);
    }

    private void avisarAtaque() {
        String paisOrigen = jtfPaisOrigen.getText();
        String paisDestino = jtfPaisDestino.getText();
        cliente.avisarAtaque(paisOrigen, cliente.getColorDePais(paisOrigen), cliente.obtenerEjercitoDePais(paisOrigen),
                paisDestino, cliente.getColorDePais(paisDestino), cliente.obtenerEjercitoDePais(paisDestino));
    }

    public void mostrarDados(int[] dadosOrigen, int[] dadosDestino) { 
        String direccion = "";
        for (int i = 0; i < dadosOrigen.length; i++) {// lo hago de esta manera xq aunq 1 o 2 dados definan quien gana tengo q mostrar q tiere la cantidad de dados como paises me permite tirar
            switch(i){
                case 0:{
                    jlDadoYo1.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosOrigen[i]+".png";
                    jlDadoYo1.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    jlDadoYo2.setVisible(false);
                    jlDadoYo3.setVisible(false);
                    break;
                }
                case 1:{
                    jlDadoYo2.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosOrigen[i]+".png";
                    jlDadoYo2.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    jlDadoYo3.setVisible(false);
                    break;
                }
                case 2:{
                    jlDadoYo3.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosOrigen[i]+".png";
                    jlDadoYo3.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    break;
                }
            }
        }
        for (int i = 0; i < dadosDestino.length; i++) {
            switch(i){
                case 0:{
                    jlDadoOponente1.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosDestino[i]+".png";
                    jlDadoOponente1.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    jlDadoOponente2.setVisible(false);
                    jlDadoOponente3.setVisible(false);
                    break;
                }
                case 1:{
                    jlDadoOponente2.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosDestino[i]+".png";
                    jlDadoOponente2.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    jlDadoOponente3.setVisible(false); // x las dudas
                    break;
                }
                case 2:{
                    jlDadoOponente3.setVisible(true);
                    direccion = "/imagenes/dice-"+dadosDestino[i]+".png";
                    jlDadoOponente3.setIcon(new javax.swing.ImageIcon(getClass().getResource(direccion)));
                    break;
                }
            }
        }
    }

    public void crearMision(String desc) {
        jScrollPane3.setVisible(true);
        jtaObjetivo.setVisible(true);
        jbObjetivo.setEnabled(true);
        jtaObjetivo.setText("");
        String renglon = "";
        for (int i = 0; i < desc.length(); i++) {
            renglon += desc.charAt(i);
            if(renglon.length() > 35 &&  desc.charAt(i) == ' '){
                jtaObjetivo.append(renglon+"\n");
                renglon = "";
            }
        }
        jtaObjetivo.append(renglon);
        jbObjetivo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/Botones/CandadoAbierto.png")));
        mostrarObjetivo = true;
    }

    private boolean pedirContraseña() {
        String pass = JOptionPane.showInputDialog(null, "Ingrese su contraseña:");
        if(this.corroborarPass(pass)){
            return true;
        }
        return false;
    }

    private boolean corroborarPass(String pass) {
        Encrypter enc = new VernamEncrypter(pass);
        enc.code();
        Usuario us = new Usuario(usuario.getUsuario(), enc.getEncrypted());
        us = mud.find(us);
        if(us != null){
            return true;
        }
        return false;
    }

    private String[] buscarColores(String[] coloresJugadores) {
        String[] direcciones = new String[coloresJugadores.length];
        for (int i = 0; i < coloresJugadores.length; i++) {
            if(coloresJugadores[i].equals("Rojo")){
                direcciones[i] = "/imagenes/Colores/CirculoRojo.png";
            }else if(coloresJugadores[i].equals("Verde")){
                direcciones[i] = "/imagenes/Colores/CirculoVerde.png";
            }else if(coloresJugadores[i].equals("Amarillo")){
                direcciones[i] = "/imagenes/Colores/CirculoAmarillo.png";
            }else if(coloresJugadores[i].equals("Azul")){
                direcciones[i] = "/imagenes/Colores/CirculoAzul.png";
            }else if(coloresJugadores[i].equals("Naranja")){
                direcciones[i] = "/imagenes/Colores/CirculoNaranja.png";
            }else if(coloresJugadores[i].equals("Negro")){
                direcciones[i] = "/imagenes/Colores/CirculoNegro.png";
            }
        }
        return direcciones;
    }

    public void avisarQuePerdi(String nom, String obj) {
        JOptionPane.showMessageDialog(null, "Pediste!!! el jugador "+nom+ " ha concluido su mision con exito...\n esta era: "+obj);
        perdi=true;
    }

    class paisSeleccionado extends MouseAdapter{

        public void mouseClicked(MouseEvent e) 
        {
            if(e.getClickCount()==2)
            {
                JTextField seleccion;
                if(e.isMetaDown()){
                    seleccion = jtfPaisDestino;
                }else{
                    seleccion = jtfPaisOrigen;
                }
                JLabel pais = (JLabel) e.getSource();
                char c = ' ';
                String ejercito = "";
                String color = "";
                if(pais == jlArgentina)
                    seleccion.setText("Argentina");
                else if(pais == jlBrasil)
                    seleccion.setText("Brasil");      
                else if(pais == jlYukon)
                    seleccion.setText("Yukon");    
                else if (pais  == jlAlaska)
                    seleccion.setText("Alaska");
                else if (pais == jlCalifornia)
                    seleccion.setText("California");
                else if (pais == jlCanada )
                    seleccion.setText("Canada");
                else if (pais == jlGroenlandia)
                    seleccion.setText("Groenlandia");
                else if (pais == jlLabrador)
                    seleccion.setText("Labrador");
                else if (pais == jlMexico)
                    seleccion.setText("Mexico");
                else if (pais == jlNuevaYork )
                    seleccion.setText("NuevaYork");
                else if (pais == jlOregon )
                    seleccion.setText("Oregon");
                else if (pais == jlTerranova)
                    seleccion.setText("Terranova");
                else if (pais == jlYukon)
                    seleccion.setText("Yukon");
                else if (pais == jlColombia)
                    seleccion.setText("Colombia");
                else if (pais == jlUruguay)
                    seleccion.setText("Uruguay");
                else if (pais == jlChile)
                    seleccion.setText("Chile");
                else if (pais == jlPeru)
                    seleccion.setText("Peru");
                else if (pais == jlSahara)
                    seleccion.setText("Sahara");
                else if (pais == jlEgipto)
                    seleccion.setText("Egipto");
                else if (pais == jlMadagascar)
                    seleccion.setText("Madagascar");
                else if (pais == jlSudafrica)
                    seleccion.setText("Sudafrica");
                else if (pais == jlZaire)
                    seleccion.setText("Zaire");
                else if (pais == jlBorneo)
                    seleccion.setText("Borneo");
                else if (pais == jlSumatra)
                    seleccion.setText("Sumatra");
                else if (pais == jlJava)
                    seleccion.setText("Java");
                else if (pais == jlAustralia)
                    seleccion.setText("Australia");
                else if (pais == jlMalasia)
                    seleccion.setText("Malasia");
                else if (pais == jlIndia)
                    seleccion.setText("India");
                else if (pais == jlChina)
                    seleccion.setText("China");
                else if (pais == jlKatchatka)
                    seleccion.setText("Katchatka");
                else if (pais == jlArabia)
                    seleccion.setText("Arabia");
                else if (pais == jlIsrael)
                    seleccion.setText("Israel");
                else if (pais == jlTurquia)
                    seleccion.setText("Turquia");
                else if (pais == jlIran)
                    seleccion.setText("Iran");
                else if (pais == jlGobi)
                    seleccion.setText("Gobi");
                else if (pais == jlAral)
                    seleccion.setText("Aral");
                else if (pais == jlTaimir)
                    seleccion.setText("Taimir");
                else if (pais == jlMongolia)
                    seleccion.setText("Mongolia");
                else if (pais == jlJapon)
                    seleccion.setText("Japon");
                else if (pais == jlEtiopia)
                    seleccion.setText("Etiopia");
                else if (pais == jlTartaria)
                    seleccion.setText("Tartaria");
                else if (pais == jlSiberia)
                    seleccion.setText("Siberia");
                else if (pais == jlSuecia)
                    seleccion.setText("Suecia");
                else if (pais == jlPolonia)
                    seleccion.setText("Polonia");
                else if (pais == jlAlemania)
                    seleccion.setText("Alemania");
                else if (pais == jlGranBretania)
                    seleccion.setText("GranBretania");
                else if (pais == jlIslandia)
                    seleccion.setText("Islandia");
                else if (pais == jlEspania)
                    seleccion.setText("Espania");
                else if (pais == jlItalia)
                    seleccion.setText("Italia");
                else if (pais == jlRusia)
                    seleccion.setText("Rusia");
                else if (pais == jlFrancia)
                    seleccion.setText("Francia");
            }else{
                JLabel pais = (JLabel) e.getSource();
                char c = ' ';
                String ejercito = "";
                String color = "";
                if(pais == jlArgentina)
                    jtfPais.setText("Argentina");
                else if(pais == jlBrasil)
                    jtfPais.setText("Brasil");      
                else if(pais == jlYukon)
                    jtfPais.setText("Yukon");    
                else if (pais  == jlAlaska)
                    jtfPais.setText("Alaska");
                else if (pais == jlCalifornia)
                    jtfPais.setText("California");
                else if (pais == jlCanada )
                    jtfPais.setText("Canada");
                else if (pais == jlGroenlandia)
                    jtfPais.setText("Groenlandia");
                else if (pais == jlLabrador)
                    jtfPais.setText("Labrador");
                else if (pais == jlMexico)
                    jtfPais.setText("Mexico");
                else if (pais == jlNuevaYork )
                    jtfPais.setText("NuevaYork");
                else if (pais == jlOregon )
                    jtfPais.setText("Oregon");
                else if (pais == jlTerranova)
                    jtfPais.setText("Terranova");
                else if (pais == jlYukon)
                    jtfPais.setText("Yukon");
                else if (pais == jlColombia)
                    jtfPais.setText("Colombia");
                else if (pais == jlUruguay)
                    jtfPais.setText("Uruguay");
                else if (pais == jlChile)
                    jtfPais.setText("Chile");
                else if (pais == jlPeru)
                    jtfPais.setText("Peru");
                else if (pais == jlSahara)
                    jtfPais.setText("Sahara");
                else if (pais == jlEgipto)
                    jtfPais.setText("Egipto");
                else if (pais == jlMadagascar)
                    jtfPais.setText("Madagascar");
                else if (pais == jlSudafrica)
                    jtfPais.setText("Sudafrica");
                else if (pais == jlZaire)
                    jtfPais.setText("Zaire");
                else if (pais == jlBorneo)
                    jtfPais.setText("Borneo");
                else if (pais == jlSumatra)
                    jtfPais.setText("Sumatra");
                else if (pais == jlJava)
                    jtfPais.setText("Java");
                else if (pais == jlAustralia)
                    jtfPais.setText("Australia");
                else if (pais == jlMalasia)
                    jtfPais.setText("Malasia");
                else if (pais == jlIndia)
                    jtfPais.setText("India");
                else if (pais == jlChina)
                    jtfPais.setText("China");
                else if (pais == jlKatchatka)
                    jtfPais.setText("Katchatka");
                else if (pais == jlArabia)
                    jtfPais.setText("Arabia");
                else if (pais == jlIsrael)
                    jtfPais.setText("Israel");
                else if (pais == jlTurquia)
                    jtfPais.setText("Turquia");
                else if (pais == jlIran)
                    jtfPais.setText("Iran");
                else if (pais == jlGobi)
                    jtfPais.setText("Gobi");
                else if (pais == jlAral)
                    jtfPais.setText("Aral");
                else if (pais == jlTaimir)
                    jtfPais.setText("Taimir");
                else if (pais == jlMongolia)
                    jtfPais.setText("Mongolia");
                else if (pais == jlJapon)
                    jtfPais.setText("Japon");
                else if (pais == jlEtiopia)
                    jtfPais.setText("Etiopia");
                else if (pais == jlTartaria)
                    jtfPais.setText("Tartaria");
                else if (pais == jlSiberia)
                    jtfPais.setText("Siberia");
                else if (pais == jlSuecia)
                    jtfPais.setText("Suecia");
                else if (pais == jlPolonia)
                    jtfPais.setText("Polonia");
                else if (pais == jlAlemania)
                    jtfPais.setText("Alemania");
                else if (pais == jlGranBretania)
                    jtfPais.setText("GranBretania");
                else if (pais == jlIslandia)
                    jtfPais.setText("Islandia");
                else if (pais == jlEspania)
                    jtfPais.setText("Espania");
                else if (pais == jlItalia)
                    jtfPais.setText("Italia");
                else if (pais == jlRusia)
                    jtfPais.setText("Rusia");
                else if (pais == jlFrancia)
                    jtfPais.setText("Francia");
                String archivo = pais.getIcon().toString();
                for (int i = archivo.length()-1 ; i > 0; i--) {
                    c = archivo.charAt(i);
                    if(c == '.'){
                        i--;

                        ejercito = archivo.charAt(i)+"";
                        if(ejercito.equals("0")){
                            ejercito = "10";
                            i--;
                        }
                        for (int j = i; j > 0; j--) {
                            c = archivo.charAt(j);
                            if(c == '/'){
                                break;
                            }
                            color += c + "";
                        }
                        break;
                    }
                }
                String col = "";
                for (int i = color.length()-1; i > 0; i--) {
                    c = color.charAt(i);
                    col += c + "";
                }
                jtfEjercito.setText(ejercito + "");
                jtfJugador.setText(col);
            }
       }
    }

    public class MakeEnterDoAction extends KeyAdapter {

        public void keyPressed(KeyEvent ke)
        {
            if (ke.getKeyCode() == KeyEvent.VK_ENTER)
            {
                Object src = ke.getSource();
                jbEnviarActionPerformed(new ActionEvent(src, ActionEvent.ACTION_PERFORMED, "Enter"));
                jtaChat.setText("");
            }
        } // end keyPressed()

    } // end class
}
